在開發Vue專案時,時常會使用binding的技巧,用以動態變更參數的值,
如下
<div class="sensorlist_icon" :style="{backgroundImage: 'url(' + getsensorImg(item.Type) + ')'}"></div>
但如果返回的圖片路徑在Server端不存在,或是客戶端突然新增了新的SensorType,導致沒有對應的圖片可以顯示,此時若甚麼都不做瀏覽器會直接報錯,但我希望在沒有對應的圖片時能夠顯示預設的圖片,方法如下:
getsensorImg(Type) {
let sensor = "DefaultSensor";
if (Type) {
sensor = Type;
}
var img = new Image();
try {
img.src = require(`@/assets/img/Sensor/${sensor}.svg`);
return require(`@/assets/img/Sensor/${sensor}.svg`);
} catch {
return require(`@/assets/img/Sensor/DefaultSensor.svg`);
}
},